package com.ndp.fb.mongo.api;

import com.ndp.fb.mongo.model.autocreatead.robot.StrategyRule;

import java.util.List;

/**
 * Created by hunk.qin on 2016/6/16.
 */
public interface StrategyRuleMongoService {


    /**
     * 保存策略
     * @param rule
     */
    void save(StrategyRule rule);

    /**
     * 获取策略
     * @param id
     * @return
     */
    StrategyRule getById(String id);

    /**
     * 所有优化策略
     * @return
     */
    List<StrategyRule> getAll();

    /**
     * 获取比当前分数高的下一个策略
     * @param score
     * @return
     */
    StrategyRule scoreForGtNext(Integer score);
    /**
     * 获取比当前分数低的策略数量
     * @param score
     * @return
     */
    int getRuleCountLeScore(Integer score);

    /**
     * 获取比当前分数低的下一个策略
     * @param score
     * @return
     */
    StrategyRule scoreForLeNext(Integer score);

    /**
     * 获取最高分数策略
     * @return
     */
    StrategyRule scoreForMax();
}
